Skip to content

🐛 完善贡献者指南与编辑器未保存导航保护 - #1656

Merged
CodFrm merged 2 commits into
mainfrom
docs/agent-guides-and-editor-guard
Aug 6, 2026
Merged

🐛 完善贡献者指南与编辑器未保存导航保护#1656
CodFrm merged 2 commits into
mainfrom
docs/agent-guides-and-editor-guard

Conversation

@CodFrm

@CodFrm CodFrm commented Aug 6, 2026

Copy link
Copy Markdown
Member

Checklist / 检查清单

  • Fixes ... / 已修复或实现 ...
  • Code reviewed by human / 代码通过人工检查
  • Changes tested / 已完成测试

N/A — 本次改动没有关联的待关闭 Issue;人工审查项保留未勾选。

背景

贡献者文档、一次性扩展验证流程与 E2E harness 的职责边界需要收敛;同时脚本编辑器原有的 beforeunload 保护无法覆盖扩展内部的 SPA 导航,未保存修改可能在页内切换时丢失。

本次改动

  • 重整贡献者文档及架构/设计/测试参考,新增 E2E harness 指南,并将用户侧 External Access 指南统一交由文档站维护。
  • 补齐本地 Agent、scratch 验证产物的 Git/Prettier/ESLint 忽略规则。
  • 将选项页路由迁移到 data router,在离开脚本编辑器前拦截未保存修改并复用现有确认对话框。
  • 使用真实 memory router 覆盖“修改后导航被阻止、确认后继续”的行为。

实现考虑

useBlocker 只拦截从 /script/editor 离开的页内导航;编辑器内部脚本切换继续沿用现有逻辑,浏览器刷新/关闭仍由 beforeunload 负责。

建议审查重点

  • 文档职责拆分、旧 External Access 本地指南删除后的引用是否完整。
  • createHashRouter 路由结构与原有 HashRouter 路由是否等价。
  • 未保存状态下确认/取消导航的生命周期是否符合预期。

验证

  • pnpm run lint — 通过(Prettier、TypeScript、i18n、Issue 模板、ESLint)。
  • pnpm test -- --run src/pages/options/routes/ScriptEditor/index.test.tsx — 参数未成功收窄,实际全量运行;327 个测试文件、3680 个测试全部通过。
  • pnpm exec vitest run --no-coverage --reporter=default src/pages/options/routes/ScriptEditor/index.test.tsx — 1 个测试文件、4 个测试全部通过;存在既有的 react-i18next 未初始化警告。
  • 跟踪 Markdown 相对链接检查 — 无断链。
  • git diff origin/main...HEAD --check — 通过。
  • 最终 diff 隐私扫描 — 未发现本机绝对路径、临时目录或身份信息。

Screenshots / 截图

N/A — 导航保护复用现有确认对话框,没有新增视觉样式。

@CodFrm
CodFrm merged commit e2a3815 into main Aug 6, 2026
10 checks passed
@CodFrm
CodFrm deleted the docs/agent-guides-and-editor-guard branch August 6, 2026 03:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant